<?php
  /*
    PHP 虽然是一门弱类型的语言，  但是也可以像像强类型 像c# c语言一样做函数的类型约束
      因为函数的参数时打开函数的大门 这个非常重要  所以PHP是支持设置约束的
  */ 
  
  function sum(int ...$val){
    return array_sum($val);
  }

  echo sum(1,5,7,8,6,'17');  # 44 虽然17是在字符串  但是与因为他是数字字符串 所以不会报错
  # echo sum(1,5,89,9,'aa'); # 报错 报错的原因是 aa 是字符串字符串类型  且不是数字的字符串

  declare(strict_types = 1);  # 定义严格模式  类似于JS中的 USE STRICT 定义严格模式

  echo sum(1,5,7,8,6,'17');  # 报错 因为 17不是int类型 所以严格模式下回直接强制报错